package se.webbzon.boltzmann.inventory;

import se.webbzon.boltzmann.item.AbstractItem;

public interface InventoryListener {
	
	/*============================================================
	Public Methods
	============================================================*/
	
	/** This method is invoked AFTER the given item has been
	 * added to the inventory. **/
	public void itemAdded(Inventory inventory, AbstractItem item);
	
	/** This method is invoked BEFORE the given item has been
	 * removed from the inventory. **/
	public void itemRemoved(Inventory inventory, AbstractItem item);
	
	/** This method is invoked BEFORE the given items has been
	 * swapped. Any (or both) items may be null.**/
	public void itemSwapped(Inventory inventory, 
							AbstractItem item1, AbstractItem item2);
	
	/** This method is called when the inventory is resized. **/
	public void inventoryResized(Inventory inventory, Inventory.Size size);

}
